////简易栈容器
//#include <iostream>
//using namespace std;
//
//class Stack {//栈容器类
//public:
//	Stack() :m_size(0) {
//
//	}
//	void push(int data) {
//		m_arr[m_size++] = data;
//	}
//	int pop() {//应该有一共判空操作
//		return m_arr[--m_size];
//	}
//	int size() {
//		return m_size;
//	}
//	int& operator[](int index) {
//		return m_arr[index];
//	}
//	const int& operator[](int index)const {
//		return this->m_arr[index];
//	}
//private:
//	int m_arr[20];//保存数据
//	int m_size;//保存数据的个数
//};
//
//int main(void) {
//	Stack s;
//	for (int i = 0; i < 20; i++) {
//		s.push(100 + i);
//	}
//	cout << "压栈后s容器中的数据个数:" << s.size() << endl;
//	s[5];//s.operator[](5) ---非常容器的元素是非常左值
//	for (int i = 0; i < 20; i++){
//		cout << s.pop() << ' ';
//	}
//	cout << endl;
//	/*for (int i = 0; i < 20;i++) {
//		cout << s.pop() << '  ';
//	}
//	cout << endl;*/
//	cout << "读数据容器的数据个数:" << s.size() << endl;
//	const Stack cs = s;//cs是常容器（常对象）
//	//cs[5] = 666;//cs.operator[](5) 编译器应该报read-only错误常容器的元素是常左值
//	return 0;
//}